package com.dc.designPattern._21_strategy.extend.extend1;

import java.util.Objects;

/**
 * Description: 最直接的加减法_计算类
 * @author: gdc
 * @date: 2021/6/29
 * @version 1.0
 */
public class Calculator {

    /**
     * 加符号
     */
    public final static String ADD_SYMBOL = "+";
    /**
     * 减符号
     */
    public final static String SUB_SYMBOL = "-";

    /**
     * 执行方法
     * @param a             参数A
     * @param b             参数B
     * @param symbol        符号
     * @return              处理结果
     */
    public int exec(int a, int b, String symbol) {
        int result;
        if (Objects.equals(ADD_SYMBOL, symbol)) {
            result = this.add(a, b);
        } else {
            result = this.sub(a, b);
        }
        return result;
    }

    /**
     * 加法
     * @param a             参数A
     * @param b             参数B
     * @return              处理结果
     */
    private int add(int a, int b) {
        return a + b;
    }

    /**
     * 减法
     * @param a             参数A
     * @param b             参数B
     * @return              处理结果
     */
    private int sub(int a, int b) {
        return a - b;
    }

}
